%%
%% This is file `german.sty',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% german.dtx  (with options: `old')
%% 
%% This file is part of the `german' collection,
%% providing German language support for
%% plain TeX or LaTeX version 2e/2.09.
%% 
%% ----------- Copyright (C) 1998, 1999 by B.Raichle ----------
%% ------------------- All rights reserved. -------------------
%% Maintained by Bernd Raichle (Uni Stuttgart),
%% using ideas by H.Partl (TU Wien, Uni.f.Bodenkultur Wien)
%% and many other people.
%% 
%% 
%% IMPORTANT NOTICE:
%% 
%% This program can be redistributed and/or modified under the terms
%% of the LaTeX Project Public License Distributed from CTAN
%% archives in directory macros/latex/base/lppl.txt; either
%% version 1 of the License, or any later version.
%% 
%% 
%% Error Reports (in case of UNCHANGED versions) should be sent to:
%% 
%%   Bernd Raichle <raichle@Informatik.Uni-Stuttgart.DE>
%% 
\expandafter\ifx\csname grmn\string @VersionNo\endcsname\relax
\else
  \ifnum\number\csname grmn\string @VersionNo\endcsname<9806\relax
  \else \germanTeX \expandafter\expandafter\expandafter\endinput
  \fi\fi
\expandafter\mathchardef\csname grmn\string @VersionNo\endcsname
=9806\relax % = v2.5e
\message{v2.5e 1998-07-08}
\begingroup\expandafter\expandafter\expandafter\endgroup
\expandafter\ifx\csname ProvidesPackage\endcsname\relax\else
  \ProvidesPackage{german}[1998/07/08 v2.5e %
     Support for writing german texts (br)]
\fi
\chardef\atcode=\catcode`\@
\catcode`\@=11 % \makeatletter
\expandafter\ifx\csname @ifundefined\endcsname\relax
  \def\@ifundefined#1{%
    \expandafter\ifx\csname #1\endcsname\relax
      \expandafter\grmn@dqfirst\else\expandafter\grmn@dqsecond\fi}
\fi
\def\grmn@dqfirst#1#2{#1}
\def\grmn@dqsecond#1#2{#2}
\begingroup\expandafter\expandafter\expandafter\endgroup
\expandafter\ifx\csname DeclareTextSymbol\endcsname\relax
\@ifundefined{SS}{\def\SS{SS}}{}
\else
\begingroup\expandafter\expandafter\expandafter\endgroup
\expandafter\ifx\csname ProvideTextCommandDefault\endcsname\relax
  \immediate\write17{}
  \immediate\write17{%
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!}
  \immediate\write17{%
!! Dies ist eine zu alte LaTeX2e-Version, die nicht}
  \immediate\write17{%
!! alle fuer german/ngerman notwendigen Deklarationen}
  \immediate\write17{%
!! zur Verfuegung stellt.  Dennoch koennen Sie diese}
  \immediate\write17{%
!! Pakete, eventuell mit kleinen Fehlern, verwenden.}
  \immediate\write17{!!}
  \immediate\write17{%
!! Bitte installieren Sie eine neuere LaTeX2e-Version,}
  \immediate\write17{%
!! da zukuenftige Versionen der Pakete diese}
  \immediate\write17{%
!! LaTeX2e-Version nicht mehr unterstuetzen werden!}
  \immediate\write17{%
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!}
  \immediate\write17{}
\fi
\@ifundefined{UseTextSymbol}{%
  \def\UseTextSymbol#1#2{{\fontencoding{#1}\selectfont #2}}
}{}
\@ifundefined{UseTextAccent}{%
  \def\UseTextAccent#1#2#3{%
    {\let\@curr@enc\f@encoding
     \fontencoding{#1}\selectfont
     #2{\fontencoding\@curr@enc\selectfont #3}}}%
}{}
\@ifundefined{ProvideTextCommand}{%
  \def\ProvideTextCommand#1#2{%
    %%% misses \RobustTextCommand{#1}{...etc.etc...}!!
    \expandafter\providecommand\csname #2\string#1\endcsname}%
}{}
\@ifundefined{ProvideTextCommandDefault}{%
  \def\ProvideTextCommandDefault#1{%
    \ProvideTextCommand{#1}{U}}%
}{}
\@ifundefined{DeclareTextCompositeCommand}{%
  \def\DeclareTextCompositeCommand#1#2#3#4{%
    % define a `dummy' text composite
    \DeclareTextComposite{#1}{#2}{#3}{`\Z}%
    % then redefine this command including the new command
    \expandafter\def\csname\expandafter\string\csname
         #2\endcsname\string#1-\string#3\endcsname##1##2{#4}}%
}{}
\@ifundefined{OT1\string\ss}{%
  \wlog{german: Re-declaration of \string\ss\space for OT1!}%
  \DeclareTextSymbol{\ss}{OT1}{25}}{}
\@ifundefined{OT1\string\i}{%
  \wlog{german: Re-declaration of \string\i\space for OT1!}%
  \DeclareTextSymbol{\i}{OT1}{16}}{}
\ProvideTextCommandDefault{\"}{\UseTextAccent{OT1}{\"}}
\ProvideTextCommandDefault{\ss}{\UseTextSymbol{OT1}\ss}
\ProvideTextCommandDefault{\i}{\UseTextSymbol{OT1}\i}
\ProvideTextCommandDefault{\SS}{SS}
\@ifundefined{textquotedblleft}{%
  \ProvideTextCommandDefault{\textquotedblleft}{%
    \UseTextSymbol{OT1}\textquotedblleft}%
  \DeclareTextSymbol{\textquotedblleft}{OT1}{92}%
  \DeclareTextSymbol{\textquotedblleft}{T1}{16}%
}{}
\@ifundefined{textquotedblright}{%
  \ProvideTextCommandDefault{\textquotedblright}{%
    \UseTextSymbol{OT1}\textquotedblright}%
  \DeclareTextSymbol{\textquotedblright}{OT1}{`\"}%
  \DeclareTextSymbol{\textquotedblright}{T1}{17}%
  %% \DeclareTextSymbol{\textquotedbl}{T1}{`\"}%
}{}
\@ifundefined{textquoteleft}{%
  \ProvideTextCommandDefault{\textquoteleft}{%
    \UseTextSymbol{OT1}\textquoteleft}%
  \DeclareTextSymbol{\textquoteleft}{OT1}{`\`}%
  \DeclareTextSymbol{\textquoteleft}{T1}{`\`}%
}{}
\@ifundefined{textquoteright}{%
  \ProvideTextCommandDefault{\textquoteright}{%
    \UseTextSymbol{OT1}\textquoteright}%
  \DeclareTextSymbol{\textquoteright}{OT1}{`\'}%
  \DeclareTextSymbol{\textquoteright}{T1}{`\'}%
}{}
\@ifundefined{quotesinglbase}{%
  \DeclareTextSymbol{\quotesinglbase}{T1}{13}}{}
\@ifundefined{quotedblbase}{%
  \DeclareTextSymbol{\quotedblbase}{T1}{18}}{}
\@ifundefined{guillemotleft}{%
  \DeclareTextSymbol{\guillemotleft}{T1}{19}}{}
\@ifundefined{guillemotright}{%
  \DeclareTextSymbol{\guillemotright}{T1}{20}}{}
\@ifundefined{guilsinglleft}{%
  \DeclareTextSymbol{\guilsinglleft}{T1}{14}}{}
\@ifundefined{guilsinglright}{%
  \DeclareTextSymbol{\guilsinglright}{T1}{15}}{}
\fi
\expandafter\let\expandafter\protect\csname protect\endcsname
\def\allowhyphens{\penalty\@M \hskip\z@skip}
\lccode`\^^Y=`\^^Y
\def\set@low@box#1{\setbox\tw@\hbox{,}\setbox\z@\hbox{#1}%
  \setbox\z@\hbox{\dimen@\ht\z@ \advance\dimen@ -\ht\tw@
      \lower\dimen@\box\z@}%
  \ht\z@\ht\tw@ \dp\z@\dp\tw@}
\def\save@sf@q#1{{\ifhmode
  \edef\@SF{\spacefactor\the\spacefactor}\else
  \let\@SF\empty \fi \leavevmode #1\@SF}}
\expandafter\ifx\csname grmnU@D\endcsname\relax
  \csname newdimen\endcsname\grmnU@D
\fi
\def\newumlaut#1{{\grmnU@D 1ex%
  {\setbox\z@\hbox{\char127}\dimen@-.45ex\advance\dimen@\ht\z@
  \ifdim 1ex<\dimen@ \fontdimen5\font\dimen@ \fi}%
  \accent127\fontdimen5\font\grmnU@D #1}\allowhyphens}
\begingroup\expandafter\expandafter\expandafter\endgroup
\expandafter\ifx\csname DeclareTextSymbol\endcsname\relax
  \def\highumlaut#1{{\accent127 #1}\allowhyphens}
\else
  \def\highumlaut#1{\"{#1}\allowhyphens}
\fi
\def\mdqon{\catcode`\"\active}
\def\mdqoff{\catcode`\"12\relax}
\begingroup \mdqoff
\def\x{\endgroup
  \def\@MATHUMLAUT{\ddot}% = \mathaccent"707F
  \def\@MATHss{\mathord{\mathchar"7019}}% TODO: correct?
  \def\dq{"}}% TODO: or \textquotedbl?
\x
\begingroup
  \def\do{\noexpand\do\noexpand}%
  \edef\x{\endgroup
    \def\noexpand\dospecials{\dospecials\do\"}}%
\x
\begingroup\expandafter\expandafter\expandafter\endgroup
\expandafter\ifx\csname @sanitize\endcsname\relax \else
  \begingroup
    \def\@makeother{\noexpand\@makeother\noexpand}%
    \edef\x{\endgroup
      \def\noexpand\@sanitize{\@sanitize\@makeother\"}}%
  \x
\fi
\let\grmn@original@three=\3 % \3 may be defined or undefined.
\def\ck{\penalty\@M\discretionary{k-}{}{c}k\allowhyphens}
\begingroup\expandafter\expandafter\expandafter\endgroup
\expandafter\ifx\csname DeclareTextSymbol\endcsname\relax
\expandafter\def\csname glqq \endcsname{%
  \save@sf@q{\set@low@box{''\/}\box\z@\kern-.04em\allowhyphens}}
\edef\glqq{\noexpand\protect
  \expandafter\noexpand\csname glqq \endcsname}
\let\@glqq=\glqq
\expandafter\def\csname grqq \endcsname{%
  \save@sf@q{\kern-.07em``\kern.07em}}% ('')
\edef\grqq{\noexpand\protect
  \expandafter\noexpand\csname grqq \endcsname}
\let\@grqq=\grqq
\expandafter\def\csname glq \endcsname{%
  \save@sf@q{\set@low@box{'\/}\box\z@\kern-.04em\allowhyphens}}
\edef\glq{\noexpand\protect
  \expandafter\noexpand\csname glq \endcsname}
\let\@glq=\glq
\expandafter\def\csname grq\endcsname{%
  \save@sf@q{\kern-.0125em`\kern.07em}}
\edef\grq{\noexpand\protect
  \expandafter\noexpand\csname grq \endcsname}
\let\@grq=\grq
\expandafter\def\csname flqq \endcsname{%
  \relax\ifmmode \mathrel{\ll}\else \save@sf@q{\penalty\@M
    \raise .27ex\hbox{$\m@th\scriptscriptstyle \ll $}%
    \allowhyphens}\fi}
\edef\flqq{\noexpand\protect
  \expandafter\noexpand\csname flqq \endcsname}
\let\@flqq=\flqq
\expandafter\def\csname frqq \endcsname{%
  \relax\ifmmode \mathrel{\gg}\else \save@sf@q{\penalty\@M
    \raise .27ex\hbox{$\m@th\scriptscriptstyle \gg $}%
    \allowhyphens}\fi}
\edef\frqq{\noexpand\protect
  \expandafter\noexpand\csname frqq \endcsname}
\let\@frqq=\frqq
\expandafter\def\csname flq \endcsname{%
  \relax\ifmmode <\else \save@sf@q{\penalty\@M
    \raise .27ex\hbox{$\m@th\scriptscriptstyle <$}\allowhyphens}\fi}
\edef\flq{\noexpand\protect
  \expandafter\noexpand\csname flq \endcsname}
\let\@flq=\flq
\expandafter\def\csname frq \endcsname{%
  \relax\ifmmode >\else \save@sf@q{\penalty\@M
    \raise .27ex\hbox{$\m@th\scriptscriptstyle >$}\allowhyphens}\fi}
\edef\frq{\noexpand\protect
  \expandafter\noexpand\csname frq \endcsname}
\let\@frq=\frq
\else
\DeclareRobustCommand{\glqq}{%
  \ifmmode\hbox{\quotedblbase}\else\quotedblbase\fi}
\ProvideTextCommandDefault{\quotedblbase}{%
  \UseTextSymbol{OT1}\quotedblbase}
\ProvideTextCommand{\quotedblbase}{OT1}{%
  \save@sf@q{\set@low@box{\textquotedblright\/}\box\z@
    \kern-.04em\allowhyphens}}
\ProvideTextCommand{\grqq}{T1}{\textquotedblleft}
\ProvideTextCommand{\grqq}{OT1}{%
  \save@sf@q{\kern-.07em%
  \ifmmode\hbox{\textquotedblleft}\else\textquotedblleft\fi
  \kern.07em\relax}}
\ProvideTextCommandDefault{\grqq}{\UseTextSymbol{OT1}\grqq}
\DeclareRobustCommand{\glq}{%
  \ifmmode\hbox{\quotesinglbase}\else\quotesinglbase\fi}
\ProvideTextCommandDefault{\quotesinglbase}{%
  \UseTextSymbol{OT1}\quotesinglbase}
\ProvideTextCommand{\quotesinglbase}{OT1}{%
  \save@sf@q{\set@low@box{\textquoteright\/}\box\z@
    \kern-.04em\allowhyphens}}
\ProvideTextCommand{\grq}{T1}{\textquoteleft}
\ProvideTextCommand{\grq}{OT1}{%
  \save@sf@q{\kern-.0125em%
  \ifmmode\hbox{\textquoteleft}\else\textquoteleft\fi
  \kern.07em\relax}}
\ProvideTextCommandDefault{\grq}{\UseTextSymbol{OT1}\grq}
\DeclareRobustCommand{\flqq}{%
  \ifmmode\mathrel{\hbox{\guillemotleft}}\else\guillemotleft\fi}
\ProvideTextCommandDefault{\guillemotleft}{%
  \UseTextSymbol{OT1}\guillemotleft}
\ProvideTextCommand{\guillemotleft}{OT1}{%
  \ifmmode \ll \else \save@sf@q{\penalty\@M
    \raise .27ex\hbox{$\m@th\scriptscriptstyle \ll $}%
    \allowhyphens}\fi}
\DeclareRobustCommand{\frqq}{%
  \ifmmode\mathrel{\hbox{\guillemotright}}\else\guillemotright\fi}
\ProvideTextCommandDefault{\guillemotright}{%
  \UseTextSymbol{OT1}\guillemotright}
\ProvideTextCommand{\guillemotright}{OT1}{%
  \ifmmode \gg \else \save@sf@q{\penalty\@M
    \raise .27ex\hbox{$\m@th\scriptscriptstyle \gg $}%
    \allowhyphens}\fi}
\DeclareRobustCommand{\flq}{%
  \ifmmode\mathbin{\hbox{\guilsinglleft}}\else\guilsinglleft\fi}
\ProvideTextCommandDefault{\guilsinglleft}{%
  \UseTextSymbol{OT1}\guilsinglleft}
\ProvideTextCommand{\guilsinglleft}{OT1}{%
  \ifmmode <\else \save@sf@q{\penalty\@M
    \raise .27ex\hbox{$\m@th\scriptscriptstyle <$}\allowhyphens}\fi}
\DeclareRobustCommand{\frq}{%
  \ifmmode\mathbin{\hbox{\guilsinglright}}\else\guilsinglright\fi}
\ProvideTextCommandDefault{\guilsinglright}{%
  \UseTextSymbol{OT1}\guilsinglright}
\ProvideTextCommand{\guilsinglright}{OT1}{%
  \ifmmode >\else \save@sf@q{\penalty\@M
    \raise .27ex\hbox{$\m@th\scriptscriptstyle >$}\allowhyphens}\fi}
\fi
\begingroup\expandafter\expandafter\expandafter\endgroup
\expandafter\ifx\csname DeclareTextSymbol\endcsname\relax
\def\umlauthigh{\def\"##1{{\accent127 ##1}}}
\def\umlautlow{\def\"{\protect\newumlaut}}
\else
\def\umlauthigh{\def\grmn@OTumlaut##1{{\accent 127 ##1}}}
\def\umlautlow{\def\grmn@OTumlaut{\protect\newumlaut}}
\umlauthigh
\DeclareTextAccent{\"}{T1}{4}
\DeclareTextAccent{\"}{OT1}{127}
\DeclareTextCompositeCommand{\"}{OT1}{a}{\grmn@OTumlaut{a}}%
\DeclareTextCompositeCommand{\"}{OT1}{o}{\grmn@OTumlaut{o}}%
\DeclareTextCompositeCommand{\"}{OT1}{u}{\grmn@OTumlaut{u}}%
\DeclareTextCompositeCommand{\"}{OT1}{A}{\grmn@OTumlaut{A}}%
\DeclareTextCompositeCommand{\"}{OT1}{O}{\grmn@OTumlaut{O}}%
\DeclareTextCompositeCommand{\"}{OT1}{U}{\grmn@OTumlaut{U}}%
\DeclareTextComposite{\"}{T1}{a}{228}
\begingroup\expandafter\expandafter\expandafter\endgroup
\expandafter\ifx\csname AtBeginDocument\endcsname\relax \else
  \AtBeginDocument{%
    \DeclareTextAccent{\"}{T1}{4}%          % from `ltpatch.tex'
    \DeclareTextAccent{\"}{OT1}{127}%       % from `ltpatch.tex'
    % \DeclareTextCommand{\"}{OT1}{\newumlaut}% from `ltpatch.tex'
    % % has to be removed
    \DeclareTextCompositeCommand{\"}{OT1}{a}{\grmn@OTumlaut{a}}%
    \DeclareTextCompositeCommand{\"}{OT1}{o}{\grmn@OTumlaut{o}}%
    \DeclareTextCompositeCommand{\"}{OT1}{u}{\grmn@OTumlaut{u}}%
    \DeclareTextCompositeCommand{\"}{OT1}{A}{\grmn@OTumlaut{A}}%
    \DeclareTextCompositeCommand{\"}{OT1}{O}{\grmn@OTumlaut{O}}%
    \DeclareTextCompositeCommand{\"}{OT1}{U}{\grmn@OTumlaut{U}}%
    \DeclareTextComposite{\"}{T1}{a}{228}%  % from `ltpatch.tex'
  }
\fi
\fi
\def\dqwarninglevel#1{\chardef\grmn@dqwarninglevel=#1\relax}
 \dqwarninglevel{1}
\expandafter\ifx\csname on@line\endcsname\relax
  \ifx\inputlineno\undefined \def\on@line{}%
  \else
    \ifnum\inputlineno<\z@ \def\on@line{}%
    \else \def\on@line{ on input line \the\inputlineno}%
\fi\fi\fi
\def\grmn@dq@error#1{%
  \errhelp{Use `` for a simple double quote character.}%
  \errmessage{german: The command \dq\string#1 is undefined}}
\def\grmn@dq@warning#1{%
  \immediate\write\sixt@@n
    {german: \dq\string#1 is possibly wrong\on@line.}}
\def\grmn@dq@macro#1#2{%
  \expandafter#1\csname @grmn@@\string #2dq\endcsname}
\def\def@dqmacro#1#2#3{%
  \grmn@dqredefcheck{#1}%
  \grmn@dq@macro\def{#1}{{#2}{#3}}}
\def\let@dqmacro#1#2{\begingroup
  \grmn@dqredefcheck{#1}%
  \edef\x{\endgroup \let
    \grmn@dq@macro\noexpand{#1}\grmn@dq@macro\noexpand{#2}}%
  \x}
\def\grmn@dqredefcheck#1{}
\def\@active@dq#1{%
  \grmn@dq@macro\ifx{#1}\relax
    \ifnum\grmn@dqwarninglevel>\z@ \grmn@dq@error{#1}\fi
    \expandafter\grmn@@normal@dq
  \else
    \expandafter\grmn@@active@dq
  \fi {#1}}
\def\grmn@@active@dq#1{%
  \grmn@dq@macro\ifx{#1}\noexpand
    \expandafter\grmn@normal@dq
  \else
    \expandafter\grmn@@@active@dq
  \fi {#1}}
\def\grmn@@normal@dq#1{``#1}
\def\grmn@normal@dq#1{\dq #1}
\begingroup
  \catcode`\(=1\lccode`\(=`\{\catcode`\{=12
  \catcode`\)=2\lccode`\)=`\}\catcode`\}=12
  \catcode`\ =11\relax% <= do not delete this and the
\lowercase(\endgroup% <=== following percent characters!
\def\grmn@@@active@dq#1(%
\expandafter\grmn@@@@active@dq\expandafter{\string#1})%
\def\grmn@@@@active@dq(%
\ifx\protect\relax\else\ifx\protect\empty\else%
\expandafter\expandafter\expandafter\protect%
\fi\fi%
\active@dq \dq@prtct )%
\def\dq@prtct#1#(\@dq@prtct)%
\def\@dq@prtct#1(\string\dq@prtct{\string#1})%
\def\dq@prtct #1{#2}(\string\dq@prtct{\string#2})%
\def\active@dq #1{#2}(\grmn@active@@dq(#2))%
)%
\def\active@dq#1#{\@active@dq}%
\def\grmn@active@@dq#1{%
  \csname grmn@dq\ifmmode second\else first\fi
    \expandafter\expandafter\expandafter\expandafter
  \grmn@dq@macro\endcsname{#1}}
\grmn@dq@macro\let{0}=\noexpand
\let@dqmacro{1}{0}\let@dqmacro{2}{0}\let@dqmacro{3}{0}
\let@dqmacro{4}{0}\let@dqmacro{5}{0}\let@dqmacro{6}{0}
\let@dqmacro{7}{0}\let@dqmacro{8}{0}\let@dqmacro{9}{0}
\let@dqmacro{A}{0}\let@dqmacro{B}{0}\let@dqmacro{C}{0}
\let@dqmacro{D}{0}\let@dqmacro{E}{0}\let@dqmacro{F}{0}
\def@dqmacro{}{\dq{}}{\dq{}}
\def@dqmacro{a}{\"a}{\@MATHUMLAUT a}
\def@dqmacro{o}{\"o}{\@MATHUMLAUT o}
\def@dqmacro{u}{\"u}{\@MATHUMLAUT u}
\def@dqmacro{A}{\"A}{\@MATHUMLAUT A}
\def@dqmacro{O}{\"O}{\@MATHUMLAUT O}
\def@dqmacro{U}{\"U}{\@MATHUMLAUT U}
\begingroup\expandafter\expandafter\expandafter\endgroup
\expandafter\ifx\csname DeclareTextSymbol\endcsname\relax
  \def@dqmacro{s}{\ss{}}{\@MATHss}
\else
  \def@dqmacro{s}{\ss}{\@MATHss}
\fi
\def@dqmacro{S}{\SS}{\SS}
\let@dqmacro{z}{s}
\def@dqmacro{Z}{SZ}{SZ}
\def@dqmacro{e}{\highumlaut e}{\@MATHUMLAUT e}
\def@dqmacro{E}{\highumlaut E}{\@MATHUMLAUT E}
\def@dqmacro{i}{\highumlaut{\i}}{\@MATHUMLAUT\imath}
\def@dqmacro{I}{\highumlaut I}{\@MATHUMLAUT I}
\def@dqmacro{`}{\glqq}{\glqq}
\def@dqmacro{'}{\grqq}{\grqq}
\def@dqmacro{<}{\flqq}{\flqq}
\def@dqmacro{>}{\frqq}{\frqq}
\def@dqmacro{-}{\penalty\@M\-\allowhyphens}%
               {\penalty\@M\-\allowhyphens}
\def@dqmacro{|}{\penalty\@M\discretionary{-}{}{\kern.03em}%
                \allowhyphens}{}
\def@dqmacro{"}{\hskip\z@skip}{\hskip\z@skip}
\def@dqmacro{~}{\leavevmode\hbox{-}}{-}
\def@dqmacro{=}{\penalty\@M-\hskip\z@skip}%
               {\penalty\@M-\hskip\z@skip}
\def\grmn@dqdisc#1#2{\penalty\@M
  \ifnum\grmn@dqwarninglevel>\@ne \grmn@dq@warning{#1}\fi
  \discretionary{#2-}{}{#1}\allowhyphens}
\def@dqmacro{c}{\grmn@dqdisc ck}{c}
\def@dqmacro{C}{\grmn@dqdisc CK}{C}
\def@dqmacro{l}{\grmn@dqdisc l{ll}}{l}
\def@dqmacro{L}{\grmn@dqdisc L{LL}}{L}
\def@dqmacro{m}{\grmn@dqdisc m{mm}}{m}
\def@dqmacro{M}{\grmn@dqdisc M{MM}}{M}
\def@dqmacro{n}{\grmn@dqdisc n{nn}}{n}
\def@dqmacro{N}{\grmn@dqdisc N{NN}}{N}
\def@dqmacro{p}{\grmn@dqdisc p{pp}}{p}
\def@dqmacro{P}{\grmn@dqdisc P{PP}}{P}
\def@dqmacro{r}{\grmn@dqdisc r{rr}}{r}
\def@dqmacro{R}{\grmn@dqdisc R{RR}}{R}
\def@dqmacro{t}{\grmn@dqdisc t{tt}}{t}
\def@dqmacro{T}{\grmn@dqdisc T{TT}}{T}
\def@dqmacro{F}{\grmn@dqdisc F{FF}}{F}
\def@dqmacro{f}{\grmn@dqdiscff}{f}
\def\grmn@dqdiscff{\penalty\@M
  \ifnum\grmn@dqwarninglevel>\@ne \grmn@dq@warning f\fi
  \afterassignment\grmn@dqinsertff \let\grmn@dqnextff= }
\def\grmn@dqinsertff{%
  \if f\grmn@dqnextff
    \expandafter\grmn@dqfirst\else\expandafter\grmn@dqsecond\fi
  {\relax\discretionary{ff-}{f}{ff}\allowhyphens}{f\grmn@dqnextff}}
\let\grmn@dqnextff=f
\def\grmn@dqredefcheck#1{%
  \wlog{german: \grmn@dq@macro\ifx{#1}\relax \else re\fi
    defining dq-command for `\string#1'\on@line.}}%
\def\month@german{\ifcase\month \or
  Januar\or Februar\or M\"arz\or April\or Mai\or Juni\or
  Juli\or August\or September\or Oktober\or November\or Dezember\fi}
\def\dategerman{\def\today{\number\day.~\month@german
  \space\number\year}}
\def\dateaustrian{\def\today{\number\day.~\ifnum 1=\month
  J\"anner\else \month@german\fi \space\number\year}}
\def\month@english{\ifcase\month \or
  January\or February\or March\or April\or May\or June\or
  July\or August\or September\or October\or November\or December\fi}
\def\dateUSenglish{\def\today{\month@english
  \space\number\day, \number\year}}
\def\dateenglish{\def\today{\number\day \ifcase\day \or
  st\or nd\or rd\or th\or th\or th\or th\or th\or th\or th\or%  1..10
  th\or th\or th\or th\or th\or th\or th\or th\or th\or th\or% 11..20
  st\or nd\or rd\or th\or th\or th\or th\or th\or th\or th\or% 21..30
  st\fi
  ~\month@english \space\number\year}}
\def\datefrench{\def\today{\number\day \ifnum1=\day \/$^{\rm er}$\fi
  \space\ifcase\month \or
  janvier\or f\'evrier\or mars\or avril\or mai\or juin\or
  juillet\or ao\^ut\or septembre\or
  octobre\or novembre\or d\'ecembre\fi
  \space\number\year}}
\def\captionsgerman{%
  \def\prefacename{Vorwort}%
  \def\refname{Literatur}%
  \def\abstractname{Zusammenfassung}%
  \def\bibname{Literaturverzeichnis}%
  \def\chaptername{Kapitel}%
  \def\appendixname{Anhang}%
  \def\contentsname{Inhaltsverzeichnis}% % oder nur: Inhalt
  \def\listfigurename{Abbildungsverzeichnis}%
  \def\listtablename{Tabellenverzeichnis}%
  \def\indexname{Index}%
  \def\figurename{Abbildung}%
  \def\tablename{Tabelle}%  % oder: Tafel
  \def\partname{Teil}%
  \def\enclname{Anlage(n)}% % oder: Beilage(n)
  \def\ccname{Verteiler}%   % oder: Kopien an
  \def\headtoname{An}%
  \def\pagename{Seite}%
  \def\seename{siehe}%
  \def\alsoname{siehe auch}}
\let\captionsaustrian=\captionsgerman
\def\captionsenglish{%
  \def\prefacename{Preface}%
  \def\refname{References}%
  \def\abstractname{Abstract}%
  \def\bibname{Bibliography}%
  \def\chaptername{Chapter}%
  \def\appendixname{Appendix}%
  \def\contentsname{Contents}%
  \def\listfigurename{List of Figures}%
  \def\listtablename{List of Tables}%
  \def\indexname{Index}%
  \def\figurename{Figure}%
  \def\tablename{Table}%
  \def\partname{Part}%
  \def\enclname{encl}%
  \def\ccname{cc}%
  \def\headtoname{To}%
  \def\pagename{Page}%
  \def\seename{see}%
  \def\alsoname{see also}}
\let\captionsUSenglish=\captionsenglish
\def\captionsfrench{%
  \def\prefacename{Pr\'eface}%
  \def\refname{R\'ef\'erences}%
  \def\abstractname{R\'esum\'e}%
  \def\bibname{Bibliographie}%
  \def\chaptername{Chapitre}%
  \def\appendixname{Annexe}%
  \def\contentsname{Table des mati\`eres}%
  \def\listfigurename{Liste des figures}%
  \def\listtablename{Liste des tableaux}%
  \def\indexname{Index}%
  \def\figurename{Figure}%
  \def\tablename{Tableau}%
  \def\partname{Partie}%
  \def\enclname{P.~J.}%
  \def\ccname{Copie \`a}%
  \def\headtoname{A}%
  \def\pagename{Page}%
  \def\seename{voir}%
  \def\alsoname{voir aussi}}%
\def\extrasUSenglish{}
\let\noextrasUSenglish=\extrasUSenglish
\let\extrasenglish=\extrasUSenglish
\let\noextrasenglish=\extrasenglish
\def\extrasgerman{\frenchspacing \uchyph\@ne
  \lefthyphenmin\tw@ \righthyphenmin\tw@}
\def\noextrasgerman{%
  \ifnum\sfcode`\.=\@m \else \noexpand\nonfrenchspacing \fi
  \uchyph\the\uchyph\relax
  \lefthyphenmin\the\lefthyphenmin
  \righthyphenmin\the\righthyphenmin}
\let\extrasaustrian=\extrasgerman
\let\noextrasaustrian=\noextrasgerman
\def\extrasfrench{\frenchspacing}
\def\noextrasfrench{%
  \ifnum\sfcode`\.=\@m \else \noexpand\nonfrenchspacing \fi}
\@ifundefined{l@USenglish}{%
  \@ifundefined{l@english}{\chardef\l@USenglish=255 }%
                          {\chardef\l@USenglish=\l@english}%
  \wlog{german -- \string\language\space number for USenglish %
        undefined, default \number\l@USenglish\space used.}%
}{}
\@ifundefined{l@english}{%
  \chardef\l@english=\l@USenglish
  \wlog{german -- \string\language\space number for UKenglish %
        undefined, default \number\l@english\space used.}%
}{}
\@ifundefined{l@german}{%
  \@ifundefined{l@austrian}{%
    \chardef\l@german=255 %
    \message{german -- \string\language\space number for German %
             undefined, default \number\l@german\space used,}%
    \message{german -- Please read \string"gerdoc.tex\string" how %
             to install hyphenation patterns.}%
  }{%
    \chardef\l@german=\l@austrian
    \wlog{german -- \string\language\space number for German %
          undefined, default \number\l@german\space used.}%
  }%
}{}
\@ifundefined{l@austrian}{%
  \chardef\l@austrian=\l@german
  \wlog{german -- \string\language\space number for Austrian %
        undefined, default \number\l@austrian\space used.}%
}{}
\@ifundefined{l@french}{%
  \chardef\l@french=255
  \wlog{german -- \string\language\space number for French %
        undefined, default \number\l@french\space used.}%
}{}
\def\grmn@originalTeX{}
\def\languagename{}
\expandafter\def\csname selectlanguage \endcsname#1{\relax
  \expandafter\ifx\csname l@#1\endcsname\relax
    \errhelp{Your command will be ignored, type <return> to proceed}%
    \errmessage{You haven't defined the language #1 yet}%
  \else
    \grmn@originalTeX
    \edef\languagename{#1}%
    \edef\grmn@originalTeX{\csname noextras#1\endcsname
                      \def\noexpand\grmn@originalTeX{}}%
    \csname date#1\endcsname
    \csname captions#1\endcsname
    \csname extras#1\endcsname\relax
    % Diese Zeile ist fuer `bibgerm' ...
    \csname bibs#1\endcsname
    % ... sie wird in spaeteren `german.sty'-Versionen nicht
    % mehr vorhanden sein.  Also nicht darauf verlassen!
    \language \csname l@#1\endcsname\relax
  \fi}
\begingroup\catcode`\ =11\relax% <= do not delete this and the
\toks0={\endgroup% <=== following percent characters!
\def\selectlanguage#1{\protect\selectlanguage {%
\ifnum\escapechar=\expandafter`\string#1\empty%
\else\string#1\empty\fi}}}%
\the\toks0\relax%
\def\p@selectlanguage{\selectlanguage}
\def\iflanguage#1{%
  \ifx\csname l@#1\endcsname\relax
    \expandafter\grmn@dqsecond
  \else \ifnum\csname l@#1\endcsname=\language
    \expandafter\expandafter\expandafter\grmn@dqfirst
  \else
    \expandafter\expandafter\expandafter\grmn@dqsecond
  \fi\fi
}
\expandafter\ifx\csname language\endcsname\relax
  \csname newcount\endcsname\language
  \language=0 \fi
\expandafter\ifx\csname lefthyphenmin\endcsname\relax
  \csname newcount\endcsname\lefthyphenmin
  \lefthyphenmin=2 \fi
\expandafter\ifx\csname righthyphenmin\endcsname\relax
  \csname newcount\endcsname\righthyphenmin
  \righthyphenmin=3 \fi
\expandafter\ifx\csname setlanguage\endcsname\relax
  \def\setlanguage{\relax
    \ifhmode \else
      \errhelp{Use \selectlanguage to switch languages.}%
      \errmessage{\setlanguage allowed only in horizontal mode}%
    \fi
    \begingroup\afterassignment\endgroup\count@=}
\fi
\begingroup \mdqon
\def\x{\endgroup
  \def\originalTeX{\mdqoff \let"\dq \umlauthigh
    \let\3\grmn@original@three
    \selectlanguage{USenglish}}%
  \def\germanTeX{\mdqon \let"\@active@dq \umlautlow
    \let\grmn@original@three\3\let\3\ss
    \selectlanguage{german}}}%
\x
\catcode`\@=\atcode % return to previous catcode
\germanTeX
\endinput
%%
%% End of file `german.sty'.
